package com.cg.design.depthdesign.command.commands;

import com.cg.design.depthdesign.command.editor.Editor;

/**
 * 从剪贴板粘贴文字
 *
 * @program: LeetCode->PasteCommand
 * @author: cg
 * @create: 2022-04-05 18:13
 **/
public class PasteCommand extends Command {

    public PasteCommand(Editor editor) {
        super(editor);
    }

    /**
     * 粘贴命令改变了编辑器的状态，因此它必须被保存到历史记录中。
     * <p>
     * 只要方法返回 true，它就会被保存。
     *
     * @return
     */
    @Override
    public boolean execute() {
        if (editor.clipboard == null || editor.clipboard.isEmpty()) {
            return false;
        }
        backup();
        editor.textField.insert(editor.clipboard, editor.textField.getCaretPosition());
        return true;
    }
}
